package IU;

import Controladores.CtrlAMBOperario;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import utiles.Validador;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Collections;
import java.util.Date;

import Entidades.Proveedor;
import Entidades.Producto;
import Entidades.Detallerecepcion;
import Entidades.Operario;
import Entidades.Transporte;
import Entidades.Transportista;
import Entidades.Pesajeentrada;

import Controladores.CtrlEstadoespera;
import Controladores.CtrlEstadotransporte;
import Controladores.CtrlPesajeentrada;
import Controladores.CtrlTransporte;
import Controladores.CtrlDetallerecepcion;

import Entidades.Estadoespera;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;

import IU.BuscarPesajeEntrada;
import javax.swing.table.DefaultTableModel;
/**
 *
 * 
 * @author  Laura
 */
public class PesajeAutomaticoEntrada extends javax.swing.JFrame {
 private String cadenaBascula;
    Servidor servidor;
    // String cadenaBascula = "17000";//este se puede modificar lo usé solo para probar valores borrar: = "17000"
    Validador validador;
    CtrlPesajeentrada ctrlpesajeentrada;
    CtrlEstadoespera ctrlestadoespera;
    CtrlEstadotransporte ctrlestadotransporte;
    CtrlTransporte ctrltransporte;
    CtrlDetallerecepcion ctrldetallerecepcion;
    CtrlAMBOperario ctrloperario;
    Date fechaHoraPesajeEntrada;
    Date fechaHoraPesajeSalida;
    String a, b;
    String nombre;
    String usuario;
  
    Operario o;
    Detallerecepcion detallerecepcion;
    Transporte transporte;
    Estadoespera estadoespera;
    List<Detallerecepcion> listadetrecepcion = new ArrayList<Detallerecepcion>();
    Proveedor proveedor;
    Transportista transportista;
    Producto producto;
    String pat;
    int idRol;
    float pesoBruto;
    float tara = 0;
    float pesoNeto = 0;
    int idPesada;
    int pesoAutomaticoEntrada = 1; //no debería modificarse este valor ya que el pesaje  automatico es 1;
    BuscarPesajeEntrada bpe;
    String operario;
 /*   public PesajeAutomaticoEntrada(String cadena) {
  
        initComponents();
        cadenaBascula=cadena;
        System.out.print(cadenaBascula);
        System.out.print("cadenaBascula");
       peso.setText(cadenaBascula);
       operariobascula.setText(persona.getApellido());
       fecha.setText( obtenerFechaHoraActual().toString());
        // System.out.print(cadena);
       //  System.out.print(cadena);


    }*/


    public PesajeAutomaticoEntrada(String cadenaBascula, Proveedor prov, Transporte transport, Transportista transportist, List<Detallerecepcion> listadetallesrecep, String op) {
    
        initComponents();
        peso.setText(cadenaBascula);
        operario = op;
jButtonRegistromanual.setVisible(false);
        System.getProperty("CtrlPesajeentrada.classpath");
        proveedor = prov;
        transportista = transportist;
        transporte = transport;
        // producto = product;
        System.out.println("antes de la lista");
        listadetrecepcion = listadetallesrecep;
        System.out.println("no paso lal lista");

        ctrlpesajeentrada = new CtrlPesajeentrada();
        ctrlestadoespera = new CtrlEstadoespera();
        ctrlestadotransporte = new CtrlEstadotransporte();
        ctrltransporte = new CtrlTransporte();
        ctrldetallerecepcion = new CtrlDetallerecepcion();
        ctrloperario = new CtrlAMBOperario();
        jTextFieldUsuario.setText(operario);
       jButtonRegistromanual.setVisible(false);
        Date fechaP= new Date();
        fechaP.getTime();
        fecha.setText(fechaP.toString());


    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jTabbedPane1 = new javax.swing.JTabbedPane();
        jPanel1 = new javax.swing.JPanel();
        btnRegistrarPesoManual = new javax.swing.JButton();
        jPanel3 = new javax.swing.JPanel();
        jLabel2 = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        peso = new javax.swing.JTextField();
        jLabel3 = new javax.swing.JLabel();
        fecha = new javax.swing.JTextField();
        jPanel4 = new javax.swing.JPanel();
        jTextFieldUsuario = new javax.swing.JTextField();
        jButtonRegistromanual = new javax.swing.JButton();
        jButtonSalir1 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Pesaje Automático de Entrada - Sistema Gestor de Pesaje para Bodegas");

        jTabbedPane1.setForeground(new java.awt.Color(102, 0, 102));
        jTabbedPane1.setFont(new java.awt.Font("Segoe UI", 3, 12));

        btnRegistrarPesoManual.setFont(new java.awt.Font("Segoe UI", 3, 12));
        btnRegistrarPesoManual.setForeground(new java.awt.Color(102, 0, 102));
        btnRegistrarPesoManual.setMnemonic('G');
        btnRegistrarPesoManual.setText("Registrar");
        btnRegistrarPesoManual.setName("pesajeManualEntrada2"); // NOI18N
        btnRegistrarPesoManual.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnRegistrarPesoManualActionPerformed(evt);
            }
        });

        jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED), " Marcador Digital", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Segoe UI", 3, 12), new java.awt.Color(102, 0, 102))); // NOI18N

        jLabel2.setFont(new java.awt.Font("Segoe UI", 1, 11));
        jLabel2.setText("Peso Bruto del Camión:");

        jLabel8.setFont(new java.awt.Font("Segoe UI", 1, 11));
        jLabel8.setText("Kgs.");

        peso.setEditable(false);
        peso.setFont(new java.awt.Font("Neuropol", 1, 36));
        peso.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED));
        peso.addComponentListener(new java.awt.event.ComponentAdapter() {
            public void componentShown(java.awt.event.ComponentEvent evt) {
                pesoComponentShown(evt);
            }
        });
        peso.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                pesoActionPerformed(evt);
            }
        });
        peso.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
            public void propertyChange(java.beans.PropertyChangeEvent evt) {
                pesoPropertyChange(evt);
            }
        });

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jLabel2)
                .addGap(18, 18, 18)
                .addComponent(peso, javax.swing.GroupLayout.PREFERRED_SIZE, 155, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(62, 62, 62))
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
                .addContainerGap(38, Short.MAX_VALUE)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(peso, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel8))
                .addGap(32, 32, 32))
        );

        jLabel3.setFont(new java.awt.Font("Segoe UI", 1, 11));
        jLabel3.setText("Fecha:");

        fecha.setEditable(false);
        fecha.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED));

        jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED, null, new java.awt.Color(240, 240, 240), null, null), "Usuario Registrado", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Segoe UI", 3, 12), new java.awt.Color(102, 0, 102))); // NOI18N

        jTextFieldUsuario.setEditable(false);
        jTextFieldUsuario.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED));

        javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
        jPanel4.setLayout(jPanel4Layout);
        jPanel4Layout.setHorizontalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jTextFieldUsuario, javax.swing.GroupLayout.DEFAULT_SIZE, 174, Short.MAX_VALUE)
                .addContainerGap())
        );
        jPanel4Layout.setVerticalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel4Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jTextFieldUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(28, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(28, 28, 28)
                .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(73, 73, 73)
                .addComponent(jLabel3)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(fecha, javax.swing.GroupLayout.PREFERRED_SIZE, 251, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(btnRegistrarPesoManual, javax.swing.GroupLayout.PREFERRED_SIZE, 109, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(96, 96, 96)
                        .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                .addGap(319, 319, 319))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel3)
                            .addComponent(fecha, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(51, 51, 51))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)))
                .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(37, 37, 37)
                .addComponent(btnRegistrarPesoManual)
                .addContainerGap(32, Short.MAX_VALUE))
        );

        jTabbedPane1.addTab("Pesaje Automático Entrada", jPanel1);

        jButtonRegistromanual.setFont(new java.awt.Font("Segoe UI", 3, 12));
        jButtonRegistromanual.setForeground(new java.awt.Color(102, 0, 102));
        jButtonRegistromanual.setText("Registro Manual");
        jButtonRegistromanual.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonRegistromanualActionPerformed(evt);
            }
        });

        jButtonSalir1.setFont(new java.awt.Font("Segoe UI", 3, 12));
        jButtonSalir1.setForeground(new java.awt.Color(102, 0, 102));
        jButtonSalir1.setText("Salir");
        jButtonSalir1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonSalir1ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 614, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(25, Short.MAX_VALUE))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(332, Short.MAX_VALUE)
                .addComponent(jButtonRegistromanual)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jButtonSalir1)
                .addGap(123, 123, 123))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 376, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButtonRegistromanual)
                    .addComponent(jButtonSalir1))
                .addGap(84, 84, 84))
        );

        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        setBounds((screenSize.width-665)/2, (screenSize.height-572)/2, 665, 572);
    }// </editor-fold>//GEN-END:initComponents

private void jButtonRegistromanualActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonRegistromanualActionPerformed
BuscarPesajeEntrada bpe= new BuscarPesajeEntrada(operario);
bpe.jButtonPesoManual.setVisible(true);
bpe.pesaje.setVisible(false);
bpe.setVisible(true);
    this.dispose();
}//GEN-LAST:event_jButtonRegistromanualActionPerformed

private void btnRegistrarPesoManualActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnRegistrarPesoManualActionPerformed
        try {
            String pesob = peso.getText();
            pesoBruto = Float.parseFloat(pesob);
            Pesajeentrada p = new Pesajeentrada();
            o = ctrloperario.buscarOperarioApellido(operario);
            obtenerFechaHoraActual();
            if (validar(pesob)) {
                for (int d = 0; d < listadetrecepcion.size(); d++) {
                    // va a crear un pesaje por cada detalle de recepcion que tengo; y adem´s modifica el detalle de recepcion con el pesaje creaddo seteandoselo
                    detallerecepcion = listadetrecepcion.get(d);
                    p.setFechahorapesajeentrada(fechaHoraPesajeEntrada.toString());
                    p.setOperario(o);
                    p.setPesajeautomaticoentrada(pesoAutomaticoEntrada);
                    p.setPesobruto(pesoBruto);
                    try {
                        ctrlpesajeentrada.guardarPesajeentrada(p);
                        JOptionPane.showMessageDialog(this, "Pesaje Registrado", "PesajeEntrada", JOptionPane.INFORMATION_MESSAGE);
                    } catch (Exception e) {
                        System.out.println("No puede guardar pesaje entrada " + e);
                    }
                    try {
                        estadoespera = ctrlestadoespera.buscarEstadoesperaNombre("EsperaDescargaLagar"); //a pesosalidapendiente o descarga de lagar
                        System.out.println("estadoespera: " + estadoespera);
                    } catch (Exception e) {
                        System.out.println("no encontró el estado pesoSalidaPendiente " + e);
                    }
                    detallerecepcion.setPesajeentrada(p);
                    detallerecepcion.setEstadoespera(estadoespera);
                    try {
                        ctrldetallerecepcion.modificarDetallerecepcion(detallerecepcion);
                        JOptionPane.showMessageDialog(this, "Transporte en espera de Descarga", "PesajeEntrada", JOptionPane.INFORMATION_MESSAGE);
                    } catch (Exception e) {
                        System.out.println("No puede modificar detalle de recepcion con pesaje de entrada " + e);
                    }
                }
                cambiarEstadoTransporteAEsperaDescargaLagar();
            } //fin validar
            else {

                p.setFechahorapesajeentrada(fechaHoraPesajeEntrada.toString());
                p.setOperario(o);
                p.setPesajeautomaticoentrada(2);
                p.setPesobruto(pesoBruto);
                try {
                    ctrlpesajeentrada.guardarPesajeentrada(p);
                    JOptionPane.showMessageDialog(this, "Se ha registrado el fallo de bascula", "PesajeEntrada", JOptionPane.INFORMATION_MESSAGE);
                } catch (Exception e) {
                    System.out.println("No puede guardar pesaje entrada " + e);
                }
                JOptionPane.showMessageDialog(this, "Realice el registro de pesaje manual", "PesajeEntrada", JOptionPane.INFORMATION_MESSAGE);
                jButtonRegistromanual.setVisible(true);
            }
            //    PesajeManualSalida2 abmc= new PesajeManualSalida2(proveedor, transporte, producto, transportista, listadetrecepcion);
            //    abmc.setVisible(true);
            //    PesajeManualSalida2 abmc= new PesajeManualSalida2(proveedor, transporte, producto, transportista, listadetrecepcion);
            //    abmc.setVisible(true);
        } catch (Exception ex) {
            Logger.getLogger(PesajeAutomaticoEntrada.class.getName()).log(Level.SEVERE, null, ex);
        }

}//GEN-LAST:event_btnRegistrarPesoManualActionPerformed

private void pesoPropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_pesoPropertyChange
    //////   peso.setText(cadenaBascula); // TODO add your handling code here:
}//GEN-LAST:event_pesoPropertyChange

private void pesoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_pesoActionPerformed
    //peso.setText(cadenaBascula);
    // TODO add your handling code here:
}//GEN-LAST:event_pesoActionPerformed

private void pesoComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_pesoComponentShown
    //peso.setText(cadenaBascula);        // TODO add your handling code here:
}//GEN-LAST:event_pesoComponentShown

private void jButtonSalir1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonSalir1ActionPerformed
bpe = new BuscarPesajeEntrada(operario);
bpe.setVisible(true);
            
           
           
            this.dispose();
           
}//GEN-LAST:event_jButtonSalir1ActionPerformed
    public boolean validar(String pesoBruto) {
        boolean ver = false;

        if (pesoBruto.equals("")||Float.parseFloat(pesoBruto)<=0 ||Float.parseFloat(pesoBruto)>=99999) {
            JOptionPane.showMessageDialog(this, "Se ha detectado un imperfecto en la bascula, debera registrar el pesaje manual", "Error", JOptionPane.ERROR_MESSAGE);
        } else if (!validador.getInstance().soloContieneNumeros(pesoBruto)) {
           JOptionPane.showMessageDialog(this, "Error en pesaje", "Error", JOptionPane.ERROR_MESSAGE);
        } else if (!validador.getInstance().longitudminmax5(pesoBruto)) {
           JOptionPane.showMessageDialog(this, "Error en pesaje", "Error", JOptionPane.ERROR_MESSAGE);

        } else {
            ver = true;
        }
        return ver;
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnRegistrarPesoManual;
    private javax.swing.JTextField fecha;
    private javax.swing.JButton jButtonRegistromanual;
    private javax.swing.JButton jButtonSalir1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JTabbedPane jTabbedPane1;
    private javax.swing.JTextField jTextFieldUsuario;
    private javax.swing.JTextField peso;
    // End of variables declaration//GEN-END:variables

    private boolean validar(String cantidad, String cuartel) {
        boolean ver = false;

        if (cantidad.equals("") || cuartel.equals("")) {
            JOptionPane.showMessageDialog(this, "Por favor ingrese la cantidad de producto!!!", "Error", JOptionPane.ERROR_MESSAGE);
        } else if (!validador.getInstance().soloContieneNumerosYPuntos(cantidad)) {
            JOptionPane.showMessageDialog(this, "Cantidad incorrecta: Ingrese solo números para cantidad del producto!!!", "Error", JOptionPane.ERROR_MESSAGE);
        } else if (!validador.getInstance().soloContieneNumeros(cuartel)) {
            JOptionPane.showMessageDialog(this, "Cuartel incorrecto: Ingrese solo números para cuartel!!!", "Error", JOptionPane.ERROR_MESSAGE);
        } else {
            ver = true;
        }
        return ver;
    }

    private Date obtenerFechaHoraActual() {
        java.util.Date utilDate = new java.util.Date(); //fecha actual

        long lnMilisegundos = utilDate.getTime();

        SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
        String cadenaFecha = formato.format(utilDate);
        java.sql.Time sqlTime = new java.sql.Time(lnMilisegundos);

        a = String.valueOf(cadenaFecha);
        b = String.valueOf(sqlTime);
        //fecha.setText(a+" "+b);
        fechaHoraPesajeEntrada = utilDate;

        System.out.println("fechaHoraPesajeEntrada " + fechaHoraPesajeEntrada);
        return fechaHoraPesajeEntrada;
    }

    private void cambiarEstadoTransporteAPesajeSalida() {
        try {
            estadoespera = ctrlestadoespera.buscarEstadoesperaNombre("pesoSalidaPendiente");
            System.out.println("estadoespera: " + estadoespera);
        } catch (Exception e) {
            System.out.println("no encontró el estado pesoSalidaPendiente " + e);

        }

        transporte.setEstadoespera(estadoespera);

        try {
            ctrltransporte.modificarTransporte(transporte);
        } catch (Exception e) {
            System.out.println("No pudo modificar transporte" + e);
        }
        System.out.println("transporte " + transporte);

    }

    private void cambiarEstadoTransporteAEsperaDescargaLagar() {
        try {
            estadoespera = ctrlestadoespera.buscarEstadoesperaNombre("EsperaDescargaLagar");
            System.out.println("estadoespera: " + estadoespera);
        } catch (Exception e) {
            System.out.println("no encontró el estado edl " + e);

        }

        transporte.setEstadoespera(estadoespera);

        try {
            ctrltransporte.modificarTransporte(transporte);
        } catch (Exception e) {
            System.out.println("No pudo modificar transporte" + e);
        }
        System.out.println("transporte " + transporte);

    }





   
}
